# 使用官方 Go 镜像作为构建基础
FROM golang:1.20 AS builder

# 设置工作目录
WORKDIR /app

# 将 go.mod 和 go.sum 文件复制到工作目录
COPY go.mod go.sum ./

# 下载依赖项
RUN go mod download

# 将源代码复制到工作目录
COPY . .

# 编译 Go 应用程序
RUN CGO_ENABLED=0 GOOS=linux go build -o myapp .

# 使用轻量级的 alpine 镜像运行应用程序
FROM alpine:latest

# 设置工作目录
WORKDIR /app

# 将编译好的二进制文件从 builder 镜像复制到当前镜像
COPY --from=builder /app/myapp .

# 将配置文件复制到容器中
COPY conf/config.ini /conf/config.ini

# 创建日志和图片目录
RUN mkdir -p /app/logs /app/static

# 暴露应用程序端口（根据你的服务端口进行修改）
EXPOSE 3060

# 运行 Go 应用程序，指定配置文件路径
CMD ["./myapp"]
